/*jslint browser: true, devel: true, bitwise: true, white: true, plusplus: true, forin:true, nomen:true */
/*global $:true, define:true */

/**
 * @module Test
 */

define(['WID/Test/Matcher'],function(Matcher) {
"use strict";

function toBeUndefined() {
} var extend = Object.create(Matcher.prototype);extend.constructor = toBeUndefined;

extend.getName = function() {
	return 'toBeUndefined';
};

extend.match = function(target, negation, exp) {
	return (negation)?target !== undefined:target === undefined;
};

extend.getInfo = function(target, negation, exp) {
	return Matcher.prototype.getInfo.call(this,target,negation,exp)+'to be undefined';
};
 
toBeUndefined.prototype = extend;
return toBeUndefined;
});